package com.njtech.pet.service;

import com.njtech.pet.entity.Action;
import com.njtech.pet.entity.Item;

import java.util.List;

/**
 * @author lxj
 * Date 2020-04-01 16:22
 * Description Action服务接口
 */
public interface ActionService {

    /**
     * 判断某用户是否是今日首次签到，如果有签到过则显示false，如果没签到过则显示true
     * @param uid 用户id
     * @return 结果
     */
    boolean isTodayFirstSignIn( Integer uid);

    /**
     * 判断某用户是否是今日首次分享，如果分享过则为false，如果没分享过则显示true
     * @param uid 用户id
     * @return 结果
     */
    boolean isTodayFirstShare( Integer uid);

    /**
     * 增加一条用户查看物品的记录
     * @param uid 用户id
     * @param itemId 物品id
     * @return 修改行数
     */
    int addViewAction( Integer uid,  Integer itemId);

    /**
     * 增加一条用户收藏物品的记录
     * @param uid 用户id
     * @param itemId 物品id
     * @return 修改行数
     */
    int addCollectAction( Integer uid,  Integer itemId);

    /**
     * 增加一条查询记录
     * @param uid 用户id
     * @param search 查询内容
     * @return affect rows
     */
    int addSearchAction( Integer uid, String search);


    /**
     * 删除一个用户记录，将状态改为-->失效
     * @param collectActionId 记录id
     * @return 修改行数
     */
    int removeAction( Integer collectActionId);


    /**
     * 获取某用户的商品浏览记录
     * @param uid 用户id
     * @return 商品集合
     */
    List<Action> getViewListByUserId(Integer uid);

    /**
     * 获取某用户的商品收藏记录
     * @param uid 用户id
     * @return 商品集合
     */
    List<Action> getCollectListByUserId( Integer uid);

    List<String> getSearchListByUserId( Integer uid);
}
